我一直在尝试使用 Matplotlib 绘制一些分类变量。我认为一个相对简单的任务。但是,当我在一台机器上使用这个脚本时,它工作正常,并且按预期绘制。但是,当我使用另一台机器时,出现错误无法将字符串转换为浮点数:'C'
我在这里错过了什么吗?两台机器都运行 Windows 并使用 Python 3.6。但是,它运行的机器运行的是 Windows 10,而它不运行的另一台机器运行的是 Windows 7。不确定它的重要性..
任何帮助,将不胜感激。
import pandas as pd
import matplotlib.pyplot as plt
import random
# Data Generate
data = pd.DataFrame()
for loc in ['B1', 'B2', 'B3']:
for m in range(0,10,1):
tfrom = m
tto = m + 1
code = random.choice(['A', 'B', 'C'])
data = data.append({'loc':loc, 't_from':tfrom, 't_to':tto, 'code':code},
ignore_index = True)
# Plot the Data
f, ax = plt.subplots(1,len(data['loc'].unique()), figsize = (15,10), sharey = True, num = 1)
i = 0
for siid in data['loc'].unique():
y1 = data.loc[data['loc'] == siid, 't_from'].copy()
y2 = data.loc[data['loc'] == siid, 't_to'].copy()
x = data.loc[data['loc'] == siid, 'code'].copy()
ax[i].plot((x,x), (y1,y2), lw = 4)
ax[i].set_title(siid)
ax[i].tick_params(axis='x', rotation=90)
i = i + 1
ax[0].invert_yaxis()
ax[0].legend()
plt.show()
好的。我确实错过了一些东西。我使用的是稍旧版本的 Matplotlib (1.9)。我更新到 2.1.0 并且工作正常。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句