Matplotlib& Excel:如何均匀切割图的x轴?

时间:2015-11-26 19:17:15

标签: python excel matplotlib plot

我有一堆来自一组n模拟的特定数据集。我的所有数据集看起来都像以下摘录一样,都保存在xlsx文件中:

           SET1   SET2   SET3  ...   SET n
PHASE A    945    911    847   ...   ...
PHASE B    17     12     86    ...   ...

使用matplotlibExcel,我想制作一个在视觉上像这样(制作示例)的图,其中x轴被均匀切片: enter image description here

为了给你更多细节,这些是这种情节的属性:

  1. 对于每个集合,值为1000为上边界,0为下边界;
  2. 值始终从1000减小到较小的值,并且红色和蓝色曲线相交的连续性;
  3. 原点与0上的x-axis不对应,而是1000;
  4. 每个垂直刻度对应于左侧集合的0和右侧集合的1000;
  5. Phase APhase B不代表任何价值 - 它们是categories;
  6. (SET1, Phase A)等于1000-945,而(SET1, Phase B)等于1000-945-17
  7. 我的问题:如何在matplotlib甚至Excel中生成此类情节?我很抱歉不能提供任何Python代码,因为我完全不知道如何构建这样的情节。抱歉并感谢任何有耐心帮助的人!

1 个答案:

答案 0 :(得分:1)

我觉得你问的太多了。 在matplotlib.org上有许多示例和您可能需要的所有文档。 这是一个至少包含一些功能的最小示例:

#!/usr/bin/python
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 2 * np.pi, 400)
y = np.sin(x ** 2)

f, (ax1, ax2) = plt.subplots(1, 2, sharey=True)
ax1.plot(x, y)
ax1.set_title('Sharing Y axis')
ax2.scatter(x, y)
f.gca().invert_xaxis() 
f.subplots_adjust(wspace=0.0)
plt.show()