【发布时间】:2021-03-21 11:22:55
【问题描述】:
我正在尝试将世界各国的人均 GDP 与每个国家的 COVID-19 死亡总数进行比较。每次我尝试将其转换为散点图时,它都会显示与使用 plt.plot() 命令显示的相同的图。这是我的代码:
import pandas as pd
from matplotlib import pyplot as plt
plt.style.use('seaborn-whitegrid')
data = pd.read_csv(r'/Users/john.smith/covid-data.csv')
gdp = data["gdp_per_capita"]
deaths = data["total_deaths"]
plt.scatter(gdp, deaths)
plt.title('GDP-per-Capita Compared to COVID-19 Death Total')
plt.xlabel('GDP-per-Capita')
plt.ylabel('Confirmed Deaths')
plt.tight_layout()
plt.show()
运行此代码时,会生成以下图表。这显然不是我想要得到的散点图,值得注意的是,当我使用plt.scatter() 命令时,唯一改变的是图上的点变得非常大。
我完全在不同的文件上运行了整个 Matplotlib 模块的测试。当我使用普通变量而不从 CSV 文件导入时,如下所示:
x = [7, 3, 8, 3]
y = [1, 5, 7, 4]
plt.scatter(x, y)
然后代码可以正常工作并生成散点图。我已经在网上挖掘了几个小时以尝试找到解决方案,并尝试使用其他导入 CSV 或创建散点图的方法,但没有任何效果。感谢您提供任何提示。
【问题讨论】:
-
这在我看来就像一个散点图,其中的点以某种方式重叠,使其看起来像一个条形图。一种检查方法是将 xlim 和 ylim 设置为放大一小部分,看看您是否确实看到了很多点或一个条形
-
@G.Anderson 你是对的,谢谢!我对这些命令并不明智,但我放大了 (10000, 2000),它证实了你的想法。
标签: python matplotlib plot