pythonmatplotlib如何畫共x軸的圖

2021-05-11 21:35:21 字數 5831 閱讀 9145

1樓:方朔成思

用hold on 讓後續的資料都畫在當前figure中,hold off解除

2樓:匿名使用者

例如,plt.bar(值,height=+y)

plt.bar(值,height=-y)

python matplotlib模組 如何畫兩張圖出來

3樓:以你之姓

python matplotlib模組 如何畫兩張圖出來的方法:

**如下所示:

import numpy as np

import matplotlib.pyplot as plt#建立自變數陣列

x= np.linspace(0,2*np.pi,500)#建立函式值陣列

y1 = np.sin(x)

y2 = np.cos(x)

y3 = np.sin(x*x)

#建立圖形

plt.figure(1)

'''意思是在一個2行2列共4個子圖的圖中,定位第1個圖來進行操作(畫圖)。

最後面那個1表示第1個子圖。那個數字的變化來定位不同的子圖'''#第一行第一列圖形

ax1 = plt.subplot(2,2,1)#第一行第二列圖形

ax2 = plt.subplot(2,2,2)#第二行

ax3 = plt.subplot(2,1,2)#選擇ax1

plt.sca(ax1)

#繪製紅色曲線

plt.plot(x,y1,color='red')#限制y座標軸範圍

plt.ylim(-1.2,1.2)

#選擇ax2

plt.sca(ax2)

#繪製藍色曲線

plt.plot(x,y2,'b--')

plt.ylim(-1.2,1.2)

#選擇ax3

plt.sca(ax3)

plt.plot(x,y3,'g--')

plt.ylim(-1.2,1.2)

plt.show()

附上效果圖。

4樓:大話殘劍

結果不同,需要plt.figure()清空畫板,**如下:

import matplotlib.pyplot as plt

def p_cpuline(cpulist):

plt.figure()

plt.plot(cpulist)

plt.xlabel('t/s')

plt.title(u"1111", fontproperties='simhei')

plt.ylabel(u'百分比',fontproperties='simhei')

plt.savefig('g:/tl.png')

#plt.show()

plt.close(0)

def p_menline(menlist):

plt.figure()

plt.plot(menlist)

plt.xlabel('t/s')

plt.title(u"222", fontproperties='simhei')

plt.ylabel(u'%',fontproperties='simhei')

plt.savefig('g:/t2.png')

#plt.show()

mem_list = [1,2,3,4,5,4,3,2,1]

cpu_list = [4,3,2,1,0,1,2,3,4]

p_menline(mem_list)

p_cpuline(cpu_list)

python的 matplotlib畫圖,怎麼把子圖的每個橫座標顯示出來? 5

5樓:匿名使用者

import matplotlib.pyplot as plt

plt.rcparams['font.sans-serif'] = ['simhei'] # 用來正常顯示中文標籤

plt.rcparams['axes.unicode_minus'] = false # 用來正常顯示負號

fig = plt.figure(figsize=(20, 20), dpi=80)

ax1 = fig.add_subplot(2,2,1)

x = range(5)

y = [2, 2, 5, 2, 4]

s = ['數量1', '數量2', '數量3', '數量4', '數量5']

plt.bar(x, y, width=0.5)

plt.xticks(x, s, rotation=270)

plt.xlabel('資料情況' )

plt.ylabel('數量(個)')

for xl, yl in zip(x, y):

plt.text(xl, yl+0.3, str(yl), ha='center', va='bottom', fontsize=10.5)

ax2 = fig.add_subplot(2,2,2)

plt.bar(range(4), [3, 4,2,3], width=0.3)

ax3 = fig.add_subplot(2,2,3)

plt.bar(range(4), [3, 4,2,3], width=0.3)

ax4 = fig.add_subplot(2,2,4)

plt.bar(range(4), [3, 4,2,3], width=0.3)

plt.show()

6樓:匿名使用者

ax = subplots(nrows,ncols,sharex,sharey,squeeze,subplot_kw,gridspec_kw,**fig_kw)  

建立畫布和子圖。

nrowsncols表示將畫布分割成幾行幾列 ,

sharexsharey表是共用xy軸的設定。

squeeze  bool

a.預設引數為true:額外的維度從返回的axes(軸)物件中擠出,對於n*1或1*n個子圖,返回一個1維陣列,對於n*m,n>1和m>1返回一個2維陣列。

b.為false,不進行擠壓操作:返回一個元素為axes例項的2維陣列,即使它最終是1x1。

subplot_kw:字典型別,可選引數。把字典的關鍵字傳遞給add_subplot()來建立每個子圖。

subplot_kw:字典型別,可選引數。把字典的關鍵字傳遞給add_subplot()來建立每個子圖。

gridspec_kw:字典型別,可選引數。把字典的關鍵字傳遞給gridspec建構函式建立子圖放在網格里(grid)。

**fig_kw:把所有詳細的關鍵字引數傳給figure()函式。

可見你沒有辦法單獨設定某個子圖的ax的。

7樓:匿名使用者

首先你得把**放上來,別人才能回答呀

8樓:匿名使用者

我也表示想知道,你解決了嗎

9樓:匿名使用者

在python中使用matplotlib畫圖,預設橫座標都是由小到大(1,2,3,4,5),但我現在專案特殊需求,想讓橫座標值由大到小逆序顯示(5,4,3,2,1),如何實現呢?

import matplotlib.pyplot as pltplt.figure()

ax1 = plt.subplot(121)ax2 = plt.subplot(122)xlist = [1,2,3,4,5]

ylist = [10,20,30,40,50]plt.sca(ax1)

plt.title("test x label")plt.xlabel("x")

plt.ylabel("y")

plot1, = plt.plot(xlist,ylist,'ro')

plt.show()

用python的matplotlib繪圖怎樣實現x軸上同一位置,但是是刻度值不同?

10樓:匿名使用者

用label試試看。

11樓:匿名使用者

設定軸刻度的取值範偉

python matplotlib怎麼讓x軸只顯示固定個數的標籤

12樓:ice傻西

plt.xticks(list(x)[::3], _xtick_labels[::3])

3是每隔3個顯示一次,你要顯示6個自行計算

13樓:匿名使用者

#!/usr/bin/env python

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

#演示matplotlib中設定座標軸主刻度標籤和次刻度標籤.

#對於次刻度顯示,如果要使用預設設定只要matplotlib.pyplot.minorticks_on()

from pylab import *

from matplotlib.ticker import  multiplelocator

from matplotlib.ticker import  formatstrformatter

#將x主刻度標籤設定為20的倍數(也即以 20為主刻度單位其餘可類推)

xmajorlocator = multiplelocator(20);

#設定x軸標籤文字的格式

xmajorformatter = formatstrformatter('%3.1f')

#將x軸次刻度標籤設定為5的倍數

xminorlocator = multiplelocator(5)

#設定y 軸的主刻度間隔及相應的刻度間隔顯示格式

#將y軸主刻度標籤設定為1.0的倍數

ymajorlocator = multiplelocator(1.0)

#設定y軸標籤文字的格式

ymajorformatter = formatstrformatter('%1.1f')

#將此y軸次刻度標籤設定為0.2的倍數

yminorlocator = multiplelocator(0.2)

t = arange(1.0, 100.0, 1)

s=t*exp(-t*1.3)+2*sqrt(t)

#注意:一般都在ax中設定,不再plot中設定

ax = subplot(111)

plot(t,s,'--r*')

#設定主刻度標籤的位置,標籤文字的格式

ax.xaxis.set_major_locator(xmajorlocator)

ax.xaxis.set_major_formatter(xmajorformatter)

ax.yaxis.set_major_locator(ymajorlocator)

ax.yaxis.set_major_formatter(ymajorformatter)

#顯示次刻度標籤的位置,沒有標籤文字

ax.xaxis.set_minor_locator(xminorlocator)

ax.yaxis.set_minor_locator(yminorlocator)

ax.xaxis.grid(true, which='major') #x座標軸的網格使用主刻度

ax.yaxis.grid(true, which='minor') #y座標軸的網格使用次刻度

show()

在solidworks中,如何畫有錐度的軸

建兩個基準面,兩個基準面的距離為高度,在兩個基準面上各畫一個圓。然後,放樣凸臺基體即可 畫出錐度面,然後旋轉掃描。掃描,畫兩個圓 選中 然後掃描 solidworks工程圖怎麼標錐度?5 1 首先開啟solidworks工程 件,如圖。2 接著點選智慧尺寸。3 然後點選兩個半圓進行標註。4 標註完成...

X軸截距和Y軸截距是什麼意思,在x軸上的截距和在y軸上的截距怎麼算?

x軸截距 當y 0時,x的值 y軸截距 當x 0時,y的值 截距有正負 另外還有一個直線的截距式為 1 x 1 y 1若告訴截距時或求截距時,設直線時可用.二次函式在x軸上的截距是與x軸的焦點的橫座標還有二次函式在y軸上的截距都是與y軸的焦點的橫座標 在x軸上的截距和在y軸上的截距怎麼算?這個問題屬...

如何修改excel中生成圖表x軸的刻度值

先按正常情況將圖做好後 在x軸資料標註區右擊 彈出座標軸格式 將 最大值 核取方塊改為不選,然後輸入資料為2147 同樣在 主要刻度 和 次要刻度 內均輸入相同的429兩個數 核取方塊中的勾也不選,最小值設為 0 最後確定 選中x軸右鍵點選擇資料 然後點右邊水平分類座標軸那裡 編輯 出來個框,然後去...