2015-06-13 20 views
7

Dưới đây là mã của tôiLàm thế nào để đặt tên và thay đổi quy mô của trục sanh ở biển kdeplot của

import numpy as np 
from numpy.random import randn 
import pandas as pd 
from scipy import stats 
import matplotlib as mpl 
import matplotlib.pyplot as plt 
import seaborn as sns 


fig = sns.kdeplot(treze, shade=True, color=c1,cut =0, clip=(0,2000)) 
fig = sns.kdeplot(cjjardim, shade=True, color=c2,cut =0, clip=(0,2000)) 

fig.figure.suptitle("Plot", fontsize = 24) 

plt.xlabel('Purchase amount', fontsize=18) 
plt.ylabel('Distribution', fontsize=16) 

, mà kết quả trong cốt truyện như sau:

enter image description here

Tôi muốn làm hai việc:

1) Thay đổi tỷ lệ của trục y bằng cách nhân giá trị của nó với 10000 và, nếu có thể, hãy thêm dấu% vào số. Nói cách khác, tôi muốn các giá trị trục y được hiển thị trong ô trên là 0%, 5%, 10%, 15%, 20%, 25% và 30%.

2) Thêm nhiều giá trị hơn vào trục x. Tôi đặc biệt quan tâm đến việc hiển thị dữ liệu trong khoảng thời gian 200. Nói cách khác, tôi muốn các giá trị trục x được hiển thị trong ô là 0, 200, 400, 600, ... v.v.

+0

Bạn có muốn một biểu đồ tần số không? Ý tôi là, nó không có ý nghĩa gì khi sử dụng một ước tính mật độ và sau đó nhân với hằng số và phân biệt nó. – cel

+0

Có thể? Tôi nghĩ rằng một biểu đồ có thể là một thay thế để hiển thị sự khác biệt giữa những phân phối nhưng tôi nghĩ rằng một cốt truyện mật độ hạt nhân là hiệu quả hơn cho mục đích của tôi. – iatowks

+1

Đây chỉ là một trục matplotlib vì vậy bạn sẽ thay đổi các nhãn trục giống như cách bạn làm với một âm mưu matplotlib bình thường. Tuy nhiên, bạn có vẻ hơi bối rối về những gì trục y đại diện. Tại sao bạn muốn nhân nó với 10000 và thêm một tỷ lệ phần trăm? Điều đó sẽ không chính xác. – mwaskom

Trả lời

9

1) những gì bạn đang tìm kiếm là có lẽ hầu hết một số sự kết hợp của get_yticks() và set_yticks:

plt.yticks(fig.get_yticks(), fig.get_yticks() * 100) 
plt.ylabel('Distribution [%]', fontsize=16) 

Lưu ý: như mwaskom là lần cho ý kiến ​​10000 và một dấu% là toán học không chính xác.

2) bạn có thể chỉ định nơi bạn muốn bọ ve của bạn thông qua chức năng xticks. Sau đó, bạn có nhiều bọ ve và dữ liệu dễ đọc hơn. Bạn không nhận được nhiều dữ liệu hơn theo cách đó.

plt.xticks([0, 200, 400, 600]) 
plt.xlabel('Purchase amount', fontsize=18) 

Lưu ý: nếu bạn muốn hạn chế nhằm xác định x-giá trị của bạn, bạn thậm chí có thể có một cái nhìn thoáng qua tại plt.xlim() và làm giảm con số phạm vi thú vị.

+0

Chính xác những gì tôi cần, cảm ơn. – iatowks

+0

bạn được chào đón – cattt84

Các vấn đề liên quan