Полярный контур в боке или Plotly

Мне нужно нарисовать контурный график с использованием Bokeh или Plotly Python, чтобы показать распределение волн в области формы круга. Я всегда изучал 49 точек, а x_cord и y_cord известны и не меняются в разных случаях. Плотность волны (z) может быть вычислена из другой функции в Python и меняется от случая к случаю.

Я поискал в Интернете и не нашел решения. Кто-нибудь, знакомый с Bokeh / Plotly, может в этом помочь?

Картинка, которую я хочу нарисовать, выглядит так: Полярный контур в боке или Plotly

Спасибо!

Вот входные x_cord, y_cord и пример z

x_cord = [0, -0,0, -34,6, -49, -34,6, 0,0, 34,6, 49, 34,6, -0,0, -37,5, -69,3, -90,5, -98, -90,5, -69,3, -37,5, 0,0 , 37,5, 69,3, 90,5, 98, 90,5, 69,3, 37,5, -0,0, -38,0, -73,5, -103,9, -127,3, -142,0, -147, -142,0, -127,3, -103,9, -73,5, -38,0 , 0,0, 38,0, 73,5, 103,9, 127,3, 142,0, 147, 142,0, 127,3, 103,9, 73,5, 38,0]

y_cord = [0, 49, 34,6, -0,0, -34,6, -49, -34,6, 0,0, 34,6, 98, 90,5, 69,3, 37,5, -0,0, -37,5, -69,3, -90,5, -98, -90,5 , -69,3, -37,5, 0,0, 37,5, 69,3, 90,5, 147, 142,0, 127,3, 103,9, 73,5, 38,0, -0,0, -38,0, -73,5, -103,9, -127,3, -142,0, -147, -142,0 , -127,3, -103,9, -73,5, -38,0, 0,0, 38,0, 73,5, 103,9, 127,3, 142,0]

z = [0,932, 0,93, 0,93, 0,932, 0,933, 0,933, 0,932, 0,931, 0,93, 0,924, 0,925, 0,926, 0,927, 0,928, 0,929, 0,929, 0,929, 0,93, 0,929, 0,928, 0,927, 0,926, 0,925, 0,924 , 0,924, 0,92, 0,92, 0,921, 0,922, 0,923, 0,923, 0,924, 0,925, 0,924, 0,924, 0,925, 0,925, 0,924, 0,923, 0,921, 0,92, 0,921, 0,92, 0,919, 0,919, 0,917, 0,917, 0,918, 0,919 ]

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
0
608
1

Ответы 1

В plotly можно получить что-то вроде этого: Contour plot

Code:
# import the necessaries libraries
import plotly.offline as py
import plotly.graph_objs as go
# Create data
data = [
    go.Histogram2dcontour(
          x = [0, -0.0, -34.6, -49, -34.6, 0.0, 34.6, 49, 34.6, -0.0, -37.5,\
               -69.3, -90.5, -98, -90.5, -69.3, -37.5, 0.0, 37.5, 69.3, 90.5,\
               98, 90.5, 69.3, 37.5, -0.0, -38.0, -73.5, -103.9, -127.3,\
               -142.0, -147, -142.0, -127.3, -103.9, -73.5, -38.0, 0.0, 38.0,\
               73.5, 103.9, 127.3, 142.0, 147, 142.0, 127.3, 103.9, 73.5, 38.0],
          y = [0, 49, 34.6, -0.0, -34.6, -49, -34.6, 0.0, 34.6, 98, 90.5, 69.3,\
               37.5, -0.0, -37.5, -69.3, -90.5, -98, -90.5, -69.3, -37.5, 0.0,\
               37.5, 69.3, 90.5, 147, 142.0, 127.3, 103.9, 73.5, 38.0, -0.0,\
               -38.0, -73.5, -103.9, -127.3, -142.0, -147, -142.0, -127.3,\
               -103.9, -73.5, -38.0, 0.0, 38.0, 73.5, 103.9, 127.3, 142.0],
          z = [0.932, 0.93, 0.93, 0.932, 0.933, 0.933, 0.932, 0.931, 0.93,\
               0.924, 0.925, 0.926, 0.927, 0.928, 0.929, 0.929, 0.929, 0.93,\
               0.929, 0.928, 0.927, 0.926, 0.925, 0.924, 0.924, 0.92, 0.92,\
               0.921, 0.922, 0.923, 0.923, 0.924, 0.925, 0.924, 0.924, 0.925,\
               0.925, 0.924, 0.923, 0.921, 0.92, 0.921, 0.92, 0.919, 0.919,\
               0.917, 0.917, 0.918, 0.919],
         # You can choose another colorscale if you want
         #[‘Blackbody’,‘Bluered’,‘Blues’,‘Earth’,‘Electric’,‘Greens’,‘Greys’,\
         # ‘Hot’,‘Jet’,‘Picnic’,‘Portland’,‘Rainbow’,‘RdBu’,‘Reds’,‘Viridis’,
         # ‘YlGnBu’,‘YlOrRd’]
         colorscale='Portland',
         contours=dict(
            coloring='heatmap',
            start=3,
            end=9,
            size=1
         ),
    )
]
# Layout usually need to set the title, size of plot etc.
layout = go.Layout(
    height = 600,
    width = 600,
    bargap = 0,
    hovermode = 'closest',
    showlegend = False)
# Create fig
fig = go.Figure(data=data,layout=layout)
# Save the plot in your Python script directory and open in a browser
py.plot(fig, filename='contoursimple.html')

Для получения дополнительной информации о том, как правильно построить контурный график, вы можете посетить документацию plotly по ссылкам страница и это.

Другие вопросы по теме