Ⅰ 不能直接寫出函數的表達式 怎麼在python里畫函數圖象呢
不寫出y=f(x)這樣的表達式,由隱函數的等式直接繪制圖像,以x²+y²+xy=1的圖像為例,使用sympy間接調用matplotlib工具的代碼和該二次曲線圖像如下(注意python里的乘冪符號是**而不是^,還有,python的sympy工具箱的等式不是a==b,而是a-b或者Eq(a,b),這幾點和matlab的區別很大)
直接在命令提示行的裡面運行代碼的效果
from sympy import *;
x,y=symbols('x y');
plotting.plot_implicit(x**2+y**2+x*y-1);
Ⅱ python函數圖的繪制
<pre>
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Polygon
def func(x):
return -(x-2)*(x-8)+40
x=np.linspace(0,10)
y=func(x)
fig,ax = plt.subplots()
plt.plot(x,y,'r',linewidth=2)
plt.ylim(ymin=20)
a=2
b=9
ax.set_xticks([a,b])
ax.set_xticklabels(['$a$','$b$'])
ax.set_yticks([])
plt.figtext(0.9,0.05,'$x$')
plt.figtext(0.1,0.9,'$y$')
ix=np.linspace(a,b)
iy=func(ix)
ixy=zip(ix,iy)
verts=[(a,0)]+list(ixy)+[(b,0)]
poly = Polygon(verts,facecolor='0.9',edgecolor='納滲0.5')
ax.add_patch(poly)
x_math=(a+b)*0.5
y_math=35
plt.text(x_math,y_math,r"$\int_a^b(-(x-2)*(x-8)+40)dx$",horizontalalignment='center'碧猛,size=12)
plt.show()
<悔茄橋/pre>
Ⅲ python畫hist直方圖
簡單說下圖形選擇啦,通常我們最常用的圖形是折線圖、扇形圖、條形圖,它們的功能簡單概括為:
折線圖:表示變化情況;
扇形圖:表示各類別的分布佔比情況;
條形圖:表示具體數值;
接下來要說的直方圖是以條形圖的形式展現的,在統計學中, 直方圖 (英語:Histogram)是一種對數據分布情況的圖形表示。
以下展示了python畫直方圖的幾種方式,這里涉及到了3個包:matplotlib、pandas、seanborn。
1、使用 matplotlib.pyplot.hist 函數(本文主要講解該方法畫直方圖)
2、使用 pandas.DataFrame.plot.hist 函數
3、使用 pandas.DataFrame.hist 函數
4、使用 seaborn.distplot 函數
以下為 matplotlib.pyplot.hist 函數介紹:
參數:
返回值:
模擬真實場景:我們通過分析打分,給1000個客戶進行了排名,排名越靠前,說明客戶越優異,為了找到特定的200個客戶的排名處於這1000個客戶中的位置,使用了直方圖對比的方式。以下使用的數據是為模擬場景,隨機出來的結果排名比較靠後,所以這些客戶質量並不高:
hist: https://my.oschina.net/u/2474629/blog/1793008
matplotlib中文亂碼: https://www.jianshu.com/p/c0f19f87036f
Ⅳ Python繪圖之(1)Turtle庫詳解
Turtle庫是Python語言中一個很流行的繪制圖像的函數庫,想像一個小烏龜,在一個橫軸為x、縱軸為y的坐標系原點,(0,0)位置開始,它根據一組函數指令的控制,在這個平面坐標系中移動,從而在它爬行的路徑上繪制了圖形。
畫布就是turtle為我們展開用於繪圖區域,我們可以設置它的大小和初始位置。
設置畫布大小
turtle.screensize(canvwidth=None, canvheight=None, bg=None),參數分別為畫布的寬(單位像素), 高, 背景顏色。
如:turtle.screensize(800,600, "green")
turtle.screensize() #返回默認大小(400, 300)
turtle.setup(width=0.5, height=0.75, startx=None, starty=None),參數:width, height: 輸入寬和高為整數時, 表示像素; 為小數時, 表示占據電腦屏幕的比例,(startx, starty): 這一坐標表示矩形窗口左上角頂點的位置, 如果為空,則窗口位於屏幕中心。
如:turtle.setup(width=0.6,height=0.6)
turtle.setup(width=800,height=800, startx=100, starty=100)
2.1 畫筆的狀態
在畫布上,默認有一個坐標原點為畫布中心的坐標軸,坐標原點上有一隻面朝x軸正方向小烏龜。這里我們描述小烏龜時使用了兩個詞語:坐標原點(位置),面朝x軸正方向(方向), turtle繪圖中,就是使用位置方向描述小烏龜(畫筆)的狀態。
2.2 畫筆的屬性
畫筆(畫筆的屬性,顏色、畫線的寬度等)
1) turtle.pensize():設置畫筆的寬度;
2) turtle.pencolor():沒有參數傳入,返回當前畫筆顏色,傳入參數設置畫筆顏色,可以是字元串如"green", "red",也可以是RGB 3元組。
3) turtle.speed(speed):設置畫筆移動速度,畫筆繪制的速度范圍[0,10]整數,數字越大越快。
2.3 繪圖命令
操縱海龜繪圖有著許多的命令,這些命令可以劃分為3種:一種為運動命令,一種為畫筆控制命令,還有一種是全局控制命令。
(1) 畫筆運動命令
(2) 畫筆控制命令
(3) 全局控制命令
(4) 其他命令
3. 命令詳解
3.1 turtle.circle(radius, extent=None, steps=None)
描述:以給定半徑畫圓
參數:
radius(半徑):半徑為正(負),表示圓心在畫筆的左邊(右邊)畫圓;
extent(弧度) (optional);
steps (optional) (做半徑為radius的圓的內切正多邊形,多邊形邊數為steps)。
舉例:
circle(50) # 整圓;
circle(50,steps=3) # 三角形;
circle(120, 180) # 半圓
實例:
1、太陽花
2、五角星
3、時鍾程序
Ⅳ python不用庫def函數畫各種圖形
第一步,打開python語言命銷譽巧令窗口,聲明一個函數print_color,調用range遍歷,列印星號,如下圖所示:
第二步,接著調用第一步中的虛中函數,然後查看列印結果,可以發現生成一個三角形,如下圖虧鍵所示:
第三步,再次定義一個函數four_tu,利用循環生成星號,注意查看函數生成的圖形。
第四步,調用上述步驟中定義的函數,然後查看列印圖形組合的形狀。
第五步,如果在定義的函數內,多次調用print()方法列印星號,會是什麼樣的結果呢。
第六步,在後續步驟中,調用函數列印結果,可以發現生成一個不規則的圖形。
Ⅵ 如何使用python的matplotlib畫正弦函數圖像
使用python的matplotlib畫正弦函數圖像,還要用到numpy庫,代碼如下9行所示:
import numpy as np;
from matplotlib import pyplot as plt;
fig = plt.figure();
ax2= fig.add_subplot(111);
x=np.arange(0,100)/10;
y=np.sin(x);
ax2.plot(x,y);
plt.savefig('sine.png');
plt.show();