我正在尝试使用Matplotlib创建一个包含正值和负值的条形图,但在使负值显示在Y轴上时遇到了困难。当代码运行时,它将正确地显示所有正值(用红色标记),但负数根本不显示。
相反,我得到了一个标记为“y1”的字符串的正值的副本。请看图片1附件和我的代码下面。在
我使用的代码是:import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.pyplot import figure
data = pd.read_csv("C:\samplefile.csv")
fig = plt.figure()
figure(figsize = (22,3))
ax = plt.subplot(111)
x = data['Timing Event']
y = data['Diff Latency'].diff(periods = 1) > 0
y1 = data['Diff Latency'].diff(periods = 1) < 0
y_pos = np.arange(len(x))
plt.bar(y_pos, y, color=(1.0, 0, 0, 0.7))
plt.bar(y_pos, y1, color=(0, 0.6, 0, 0.7))
plt.tight_layout()
plt.show()
数据集有两列计时事件,以数字(0,1,2,3….)表示,用作索引和“Diff Latency”(具有负值和正值)。示例数据集附在下面:
^{pr2}$