绘制分类值时无法将字符串转换为浮点错误。在一台计算机上工作而不是在下一台计算机上?

BillyJo_rambler

我一直在尝试使用 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()
BillyJo_rambler

好的。我确实错过了一些东西。我使用的是稍旧版本的 Matplotlib (1.9)。我更新到 2.1.0 并且工作正常。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

Related 相关文章

热门标签

归档