从数据框中绘制散点图
Plotting a scatter graph from a dataframe
我有一个数据框如下:
Metal Cost per m^3/$ volume/mm^3
0 Cast Iron 5996.0 20088.253323
1 Medium Carbon Steel 4301.0 12636.050310
2 Alloy Steel 6490.6 9134.975311
3 Stainless Steels 34621.0 29216.210066
8 Titanium Alloys 76500.0 16303.954297
我想绘制成本与数量的关系图。
我将如何用不同的颜色绘制每个点并使用金属柱作为图例。
您可以遍历数据框的行并使用 pyplot.scatter
绘制点。
import pandas as pd
import matplotlib.pyplot as plt
a = ["Cast Iron", "Medium Carbon Steel", "Alloy Steel",
"Stainless Steels", "Titanium Alloys"]
b = [5996,4301, 6490,34621,76500]
c = [ 20088.253323, 12636.050310, 9134.975311, 29216.210066,16303.954297]
df = pd.DataFrame({"Metal":a, "cost":b, "volume":c})
for row in df.iterrows():
plt.scatter(row[1]["cost"], row[1]["volume"],
c=plt.cm.jet(row[0]/float(len(df))), label=row[1]["Metal"])
plt.legend()
plt.show()
我有一个数据框如下:
Metal Cost per m^3/$ volume/mm^3
0 Cast Iron 5996.0 20088.253323
1 Medium Carbon Steel 4301.0 12636.050310
2 Alloy Steel 6490.6 9134.975311
3 Stainless Steels 34621.0 29216.210066
8 Titanium Alloys 76500.0 16303.954297
我想绘制成本与数量的关系图。 我将如何用不同的颜色绘制每个点并使用金属柱作为图例。
您可以遍历数据框的行并使用 pyplot.scatter
绘制点。
import pandas as pd
import matplotlib.pyplot as plt
a = ["Cast Iron", "Medium Carbon Steel", "Alloy Steel",
"Stainless Steels", "Titanium Alloys"]
b = [5996,4301, 6490,34621,76500]
c = [ 20088.253323, 12636.050310, 9134.975311, 29216.210066,16303.954297]
df = pd.DataFrame({"Metal":a, "cost":b, "volume":c})
for row in df.iterrows():
plt.scatter(row[1]["cost"], row[1]["volume"],
c=plt.cm.jet(row[0]/float(len(df))), label=row[1]["Metal"])
plt.legend()
plt.show()