62245


[matplotlibでCSVから3Dサーフェスグラフを作りたい](https://ja.stackoverflow.com/questions/38367/matplotlib%E3%81%A7csv%E3%81%8B%E3%82%893d%E3%82%B5%E3%83%BC%E3%83%95%E3%82%A7%E3%82%B9%E3%82%B0%E3%83%A9%E3%83%95%E3%82%92%E4%BD%9C%E3%82%8A%E3%81%9F%E3%81%84)

このページを見て3Dグラフを作ろうとしていますが

[code]

    could not convert string to float: ',1,2,3,4,5'
    
[/code]

というエラーがでます。  
いろいろ試しているんですが進めません。  
解決策があれば教えてください。よろしくお願いします。

[![画像の説明をここに入力](https://i.stack.imgur.com/SG9WF.png)](https://i.stack.imgur.com/SG9WF.png)

[code]

    import pandas as pd
    from mpl_toolkits.mplot3d import Axes3D
    import matplotlib.pyplot as plt
    import numpy as np
    
    # CSVからデータを読み込む
    data = pd.read_csv('./test.csv', delim_whitespace=True, header=0)
    
    # 3Dグラフの初期化
    fig = plt.figure()
    ax = fig.gca(projection='3d')
    
    # データの準備
    Xgrid = data.columns.values.astype(np.float32)
    Ygrid = data.index.values.astype(np.float32)
    X, Y = np.meshgrid(Xgrid, Ygrid)
    Z = data.as_matrix()
    
    # プロット
    surf = ax.plot_surface(X, Y, Z)
    
    # 表示
    plt.show()
    
[/code]


CC BY-SA 4.0
2020-01-14T11:40:52.927
62239
2020-01-14T22:08:51.980
36204
question
python csv
pythonでcsvから３Dグラフを描くときのエラー


原因は、参照元回答の以下の部分を見落としたか良く理解していなかったためでしょう。  
太字にした部分に気を付けて、データファイルをカンマ区切りではなく空白区切りにするか、プログラムを変える必要があったわけです。

> サンプルのプログラムを書いてみました。ポイントは「どうやってCSVを読み込むか」と「どうやって3Dサーフェスプロットするか」です。
>
> pandas で CSV を読み込むには[read_csv()](https://pandas.pydata.org/pandas-
> docs/stable/generated/pandas.read_csv.html)を使います。CSV
> のフォーマットに合わせて適当にオプションを設定する必要があります。
>
> 細かい部分についても多少書いておきます。
> **今回はCSVのデリミタが半角スペース複数文字のときを考えているので、そうなるように`delim_whitespace`引数で設定します。CSVがカンマ区切りであればこれは必要ありません。詳しくは「pandas
> スペース区切り」などで検索してください。**

まあ、私も実は読んでいなかったので、ちょっとトンチンカンなコメントをしてしまいました。

参照元回答の参考リンクなども良く読んでおきましょう。


CC BY-SA 4.0
2020-01-14T22:08:51.980
62245
2020-01-14T22:08:51.980
2020-06-17T08:14:45.997
-1
26370
62239
answer