[英]Attempting to make a multi-column graph
我正在尝试制作一个柱状图,其中y轴是平均晶粒尺寸,x轴是沿样条线的距离,每个系列是日期和/或数字值(这并不重要)。
我一直在尝试在Excel 2010中使用几种不同的方法,但无法弄清楚。 我的希望是,假设在第一个位置9,将有三列,然后在12,将有两列。 如果根本不重要,则可以说总距离为50。此数据的结果应沿横断面/ x轴具有7组列。
我试图使用python来做到这一点,但是我的编码知识几乎为零。 到目前为止,这是我的代码:
import numpy as np
import matplotlib.pyplot as plt
grainsize = [0.7912, 0.513, 0.4644, 1.0852, 1.8515, 1.812, 6.371, 1.602, 1.0251, 5.6884, 0.4166, 24.8669, 0.5223, 37.387, 0.5159, 0.6727]
series = [2, 3, 4, 1, 4, 2, 3, 4, 1, 4, 1, 4, 1, 4, 1, 4]
distance = [9, 9, 9, 12, 12, 15, 15, 15, 17, 17, 25, 25, 32.5, 32.5, 39.5, 39.5]
如果有人碰巧知道要使用的代码,那将非常有帮助。 关于如何在Excel中执行此操作的建议也很棒。
有一个名为seaborn
的绘图库,它建立在matplotlib的顶部,可以一行完成。 你的例子:
import numpy as np
import seaborn as sns
from matplotlib.pyplot import show
grainsize = [0.7912, 0.513, 0.4644, 1.0852, 1.8515, 1.812, 6.371,
1.602, 1.0251, 5.6884, 0.4166, 24.8669, 0.5223, 37.387, 0.5159, 0.6727]
series = [2, 3, 4, 1, 4, 2, 3, 4, 1, 4, 1, 4, 1, 4, 1, 4]
distance = [9, 9, 9, 12, 12, 15, 15, 15, 17, 17, 25, 25, 32.5, 32.5, 39.5, 39.5]
ax = sns.barplot(x=distance, y=grainsize, hue=series, palette='muted')
ax.set_xlabel('distance')
ax.set_ylabel('grainsize')
show()
通过编辑seaborn 画廊中的许多示例,您甚至可以做一个新手,也可以做很多事情。 将它们用作训练轮:一次只编辑一件事,然后思考会发生什么变化。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.