Skip to content

Commit 63ea071

Browse files
committed
adapt to latest mc-react-bands; cleaner interface; bug fixes
1 parent 57b5fd0 commit 63ea071

File tree

5 files changed

+41
-44
lines changed

5 files changed

+41
-44
lines changed

examples/example.ipynb

+16-18
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,14 @@
5656
"outputs": [],
5757
"source": [
5858
"w1 = BandsPlotWidget(\n",
59-
" bands=[si_bands],\n",
60-
" dos=si_dos,\n",
61-
" plot_fermilevel = True,\n",
62-
" show_legend = True,\n",
63-
" energy_range = {\"ymin\": -10.0, \"ymax\": 10.0})\n",
59+
" bands = [si_bands],\n",
60+
" dos = si_dos,\n",
61+
" energy_range = [-8.0, 8.0],\n",
62+
" format_settings = {\n",
63+
" \"showFermi\": True,\n",
64+
" \"showLegend\": True,\n",
65+
" }\n",
66+
")\n",
6467
"display(w1)"
6568
]
6669
},
@@ -80,9 +83,7 @@
8083
"w2 = BandsPlotWidget(\n",
8184
" bands=[co_bands],\n",
8285
" dos=co_dos,\n",
83-
" plot_fermilevel = True,\n",
84-
" show_legend = True,\n",
85-
" energy_range = {\"ymin\": -10.0, \"ymax\": 10.0},\n",
86+
" energy_range = [-10.0, 10.0],\n",
8687
" bands_color = [[\"red\", \"blue\"]])\n",
8788
"display(w2)"
8889
]
@@ -102,9 +103,8 @@
102103
"source": [
103104
"w3 = BandsPlotWidget(\n",
104105
" dos=co_dos,\n",
105-
" plot_fermilevel = True,\n",
106-
" show_legend = True,\n",
107-
" energy_range = {\"ymin\": -10.0, \"ymax\": 10.0})\n",
106+
" energy_range = [-10.0, 10.0]\n",
107+
")\n",
108108
"display(w3)"
109109
]
110110
},
@@ -123,9 +123,8 @@
123123
"source": [
124124
"w4 = BandsPlotWidget(\n",
125125
" bands=[si_bands],\n",
126-
" plot_fermilevel = True,\n",
127-
" show_legend = True,\n",
128-
" energy_range = {\"ymin\": -10.0, \"ymax\": 10.0})\n",
126+
" energy_range = [-10.0, 10.0]\n",
127+
")\n",
129128
"display(w4)"
130129
]
131130
},
@@ -145,10 +144,9 @@
145144
"w5 = BandsPlotWidget(\n",
146145
" bands=[si_bands, si_bands_shifted],\n",
147146
" dos=si_dos,\n",
148-
" plot_fermilevel = True,\n",
149-
" show_legend = True,\n",
150-
" energy_range = {\"ymin\": -10.0, \"ymax\": 10.0},\n",
151-
" bands_color=['red', 'yellow'])\n",
147+
" energy_range = [-10.0, 10.0],\n",
148+
" bands_color=['red', 'yellow']\n",
149+
")\n",
152150
"display(w5)"
153151
]
154152
},

js/widget.jsx

+12-12
Original file line numberDiff line numberDiff line change
@@ -26,21 +26,21 @@ function isEmptyList(list) {
2626
}
2727

2828
const render = createRender(() => {
29-
const [bandsDatalist, setBandsDatalist] = useModelState("bands");
29+
const [bandsDataList, setBandsDataList] = useModelState("bands");
3030
const [dos, setDos] = useModelState("dos");
31-
const [showFermi, setShowFermi] = useModelState("plot_fermilevel");
32-
const [showLegend, setShowLegend] = useModelState("show_legend");
33-
const [yLimit, setYLimit] = useModelState("energy_range");
34-
const [colorInfo, setColorInfo] = useModelState("bands_color");
31+
const [energyRange, setEnergyRange] = useModelState("energy_range");
32+
const [dosRange, setDosRange] = useModelState("dos_range");
33+
const [bandsColorInfo, setBandsColorInfo] = useModelState("bands_color");
34+
const [formatSettings, setFormatSettings] = useModelState("format_settings");
35+
3536
return (
3637
<BandsVisualizer
37-
bandsDataList={bandsDatalist}
38-
dosData={isEmptyObject(dos) ? undefined : dos}
39-
showFermi={showFermi}
40-
showLegend={showLegend}
41-
yLimit={yLimit}
42-
dosRange={[]}
43-
colorInfo={isEmptyList(colorInfo) ? undefined : colorInfo}
38+
bandsDataList={bandsDataList}
39+
dosData={dos}
40+
energyRange={energyRange}
41+
dosRange={dosRange}
42+
bandsColorInfo={bandsColorInfo}
43+
formatSettings={formatSettings}
4444
/>
4545
);
4646
});

package-lock.json

+4-4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"chart.js": "^4.4.2",
99
"chartjs-plugin-annotation": "^3.0.1",
1010
"chartjs-plugin-zoom": "^2.0.1",
11-
"mc-react-bands": "^0.4.0",
11+
"mc-react-bands": "^0.5.3",
1212
"react": "^18.2.0",
1313
"react-dom": "^18.2.0"
1414
},

src/widget_bandsplot/__init__.py

+8-9
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,18 @@ class BandsPlotWidget(anywidget.AnyWidget):
1414
_esm = pathlib.Path(__file__).parent / "static" / "widget.js"
1515
_css = pathlib.Path(__file__).parent / "static" / "widget.css"
1616

17-
# List of bandstructure data objects
1817
bands = tl.List([]).tag(sync=True)
19-
# DOS data object
2018
dos = tl.Dict().tag(sync=True)
21-
# Visiblity for the Fermi energy level
22-
plot_fermilevel = tl.Bool(False).tag(sync=True)
23-
# The Legend for the density of states
24-
show_legend = tl.Bool(False).tag(sync=True)
25-
# yLimit for the plot
26-
energy_range = tl.Dict({"ymin": -10.0, "ymax": 10.0}).tag(sync=True)
27-
# The colors for bands data
19+
energy_range = tl.List([-10.0, 10.0]).tag(sync=True)
20+
dos_range = tl.List([]).tag(sync=True)
2821
bands_color = tl.List([]).tag(sync=True)
2922

23+
# Formatting settings:
24+
# * showFermi
25+
# * showLegend
26+
# * bandsYlabel
27+
format_settings = tl.Dict({}).tag(sync=True)
28+
3029
def __init__(
3130
self,
3231
**kwargs,

0 commit comments

Comments
 (0)