将数据框中的2列绘制成折线图时,是否有可能在y轴上具有固定值(而不是一直增加比例)(并使轴上数字之间的距离保持恒定)?例如,根据数据集中的值,将0、21、53、124、287替换为0、100、200、300,...。因此,基本上在轴上固定所有可能的值,而不是增加比例?

最佳答案

您需要做的是:


获取所有不同的y值并对它们进行排序
根据它们在有序列表中的位置设置其在图中的y位置
根据不同的有序值设置y标签


下面的代码可以

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

df = pd.DataFrame([[13, 1], [14, 1.8], [16, 2], [15, 1.5], [17, 2], [18, 3 ],
                   [19, 200],[20, 3.6], ], columns = ['A','B'])

x = df['A']
y = df['B']

y_keys = np.sort(y.unique())
y_values = range(len(y_keys))
y_dict = dict(zip(y_keys,y_values))

fig, ax = plt.subplots()

ax.plot(x,[y_dict[k] for k in y],'o-')

ax.set_yticks(y_values)
ax.set_yticklabels(y_keys)


python - 在y轴上绘制特定值,而不是从数据框中增加比例-LMLPHP

关于python - 在y轴上绘制特定值,而不是从数据框中增加比例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50819486/

10-12 18:45