亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

需要幫助為科學數據的 matplotlib 設置 y 范圍

需要幫助為科學數據的 matplotlib 設置 y 范圍

HUX布斯 2022-08-25 14:16:28
我有一個簡單的文本文件,其中包含科學數據,每行上有一個數據項。我想簡單地將其繪制為y軸的順序項目。我稱之為:list_y在Python腳本中,我創建了一個列表,該列表是x軸的簡單序號列表。我稱之為:list_x當我使用matplotlib調用進行繪圖時,與我讀過的數十個示例相同,我得到了意想不到的結果。Matplotlab似乎沒有給出y軸從y值數據項中從最小到最大的y軸。它似乎繪制了數字對 - 而不是我所說的“圖形”。我閱讀了各種示例,并使用我正在使用的確切代碼觀看了Youtube演示,這些示例都給出了我所期望的結果。# -*- coding: utf-8 -*-"""Created on Tue Mar 10 12:18:57 2020@author: usera"""from matplotlib import pyplot as plt# data in data01a.txt is:  0.1  0.22  0.33  0.5  0.6  0.66  1  .9  data_han = open('data01a.txt', 'r')list_y = data_han.readlines()data_han.close()y_size = len(list_y)ii = 0list_x = []#follow while stmt creates a numeric list for x-axiswhile ii < y_size:    list_x.append(ii)    ii += 1plt.xlabel('Sequence')plt.ylabel('Value')plt.legend()plt.grid('True')#following 3 lines of code commented out #since it causes strange results#axes = plt.gca()#axes.set_xlim(0,10)#axes.set_ylim(0,1)#following commented out code does not give correct x axis#and no line is plotted at all#plt.axis(0,10,0,1)#following commented out code does not give correct y axis#plt.xlim(0,10)#plt.ylim(0,1)plt.plot(list_x, list_y, label='Test Plot')plt.savefig('test01a.png')plt.show()
查看完整描述

1 回答

?
撒科打諢

TA貢獻1934條經驗 獲得超2個贊

一個非?!翱焖俸腕a臟”的方法如下:


#!/usr/bin/env python3

# -*- coding: utf-8 -*-


from matplotlib import pyplot as plt


y_data = [0.1, 0.22, 0.33, 0.5, 0.6, 0.66, 1, 0.9]

y_data = sorted(y_data)


x_data = [i+1 for i in range(len(y_data))]


plt.plot(x_data, y_data)

plt.show()

我剝離了,每個部分都不需要一個非?;镜睦?。因此,請稍后隨意為網格,標題或標簽添加任何配置。


我假設,您可以讀取輸入文件中的數據并將其解析為名為 的浮點數列表。此外,我假設您要將y值從最低到最高進行排序,如您所說:y_data


似乎沒有給出從我的y值數據項中從最小到最大的y軸


如果要保留 的原始順序,只需刪除該行。y_datay_data = sorted(y_data)


接下來我們應該詳細說明的是, 是陰謀與 .根據文檔,提供x值是可選的,我們可以提供沒有任何x值的y值。執行此操作時,將使用相應 y 值的元素索引作為 x 值。這將導致值范圍為 0...N-1。您可能希望有1...N,我們可以通過基于包含y值的長度列表計算非?;镜膞值列表來實現。通過這樣做,我們可以將兩個列表傳遞給并得到所需的輸出:plt.plot()y_datax_datay_dataplt.plot()

http://img1.sycdn.imooc.com//630713e90001d38c06350471.jpg

沒有明確給出 x 值的輸出將非常相似,但基于 0 而不是基于 x 軸的 1。更改為 以查看差異:plt.plot(x_data, y_data)plt.plot(y_data)


http://img1.sycdn.imooc.com//630713f100013eab06100444.jpg

查看完整回答
反對 回復 2022-08-25
  • 1 回答
  • 0 關注
  • 130 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號