Python Matplotlib Circle вопросы - PullRequest
0 голосов
/ 29 мая 2018

У меня есть несколько вопросов о Matplotlib.

Как я могу получить цвет заливки круга со значением RGB (0-255)?Я не могу найти какой-либо способ заставить круг принять int между 0-255 для значения RGB, только с плавающей запятой между 0-1.

Как мне заставить matplot принимать параметры изнеобязательный ввод файла, в противном случае по умолчанию в программе используются значения по умолчанию?

Можно ли полностью избавиться от ограничений оси при построении фигур, чтобы мои фигуры не срезались ни по одной из осей?

import numpy as py
import matplotlib.pyplot as plt
import random
from matplotlib.patches import Circle

//set default value for rgb values for a circle
R = random.nextint(0,255)
G = random.nextint(0,255)
B = random.nextint(0,255)


//check to see if there is a file that will override the default value 
for rgb value - this is one thing that I need help with



circle1 = plt.Circle((0.5, 0.5), 0.3, color=(0.7,0.9,0.1))
circle2 = plt.Circle((0.2, 0.3), 0.3, color=(0.3,0.2,0.4))
//this is what I would like to happen
circle3 = plt.Circle((0.2, 0.3), 0.3, color=(R,G,B)) - another thing that I need help with

fig, ax = plt.subplots() 

ax.add_artist(circle1)
ax.add_artist(circle2)

plt.axis('off')
plt.savefig("output.png")
plt.show()

1 Ответ

0 голосов
/ 29 мая 2018

Чтобы получить действительный цветовой массив RGB Matplotlib из набора значений RGB в диапазоне от 0 до 255, вы можете просто разделить его на 255.

color = np.array((R,G,B)) / 255.

Чтобы получить фигуру без осей, которая обрезает художникаВы можете прикрепить оси к краю рисунка

fig, ax = plt.subplots()
fig.subplots_adjust(0,0,1,1)
ax.axis("off")

Для чтения в файле вы можете использовать open

with open("filename", "rb") as f
    content = f.readlines()

в зависимости от формата файла, который вы можете использоватьвместо этого numpy для непосредственного получения чисел в массив,

arr = np.loadtxt("filename")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...